Video framing based on device orientation

ABSTRACT

A video may include visual content having a progress length. A user may interact with a mobile device to set framings of the visual content at moments within the progress length. The framings of the visual content may be provided to a video editing application. The video editing application may utilize the framings set via the mobile device to provide preliminary framings of the visual content at the moments within the progress length.

FIELD

This disclosure relates to utilizing device orientation to determineframing of videos for a video editing application.

BACKGROUND

A wide field of view video (e.g., spherical video, panoramic video) mayinclude more visual content than may be viewed at once. Manuallydetermining which spatial portion of the visual content should bepresented may be difficult and time consuming.

SUMMARY

This disclosure relates to utilizing device orientation for videoframing. Video information, framing information, and/or otherinformation may be obtained. The video information may define a video.The video may include video content having a progress length. The videocontent may include visual content viewable as a function of progressthrough the progress length. The visual content may have a field ofview. The framing information for the video may characterize one or moreframings of the visual content at one or more moments within theprogress length. An individual framing of the visual content may definea positioning of a viewing window within the field of view of the visualcontent at a corresponding moment within the progress length. Theviewing window may define extents of the visual content to be includedwithin a presentation of the video content. The framing information maybe determined based on a user's interaction with a mobile device and/orother information. The mobile device may include a display. The mobiledevice may provide a presentation of the extents of visual contentdefined by the viewing window on the display to facilitate the user'sinteraction with the mobile device to determine the framing information.The framing information for the video may be provided to a video editingapplication that utilizes the framing information to provide preliminaryframings of the visual content at the moments within the progresslength.

A system that utilizes device orientation for video framing may includeone or more electronic storage, processor and/or other components. Theelectronic storage may store video information defining video,information relating to video, information relating to visual content ofvideo, framing information for video, information relating to framingsof visual content, information relating to viewing window, informationrelating to mobile device, information relating to presentation of videocontent, information relate to user's interaction with mobile device,information relating to video editing application, information relatingto preliminary framings of visual content of video, and/or otherinformation.

The processor(s) may be configured by machine-readable instructions.Executing the machine-readable instructions may cause the processor(s)to facilitate utilizing device orientation for video framing. Themachine-readable instructions may include one or more computer programcomponents. The computer program components may include one or more of avideo information component, a framing information component, aprovision component, and/or other computer program components.

The video information component may be configured to obtain videoinformation and/or other information. The video information may define avideo. The video may include video content having a progress length. Thevideo content may include visual content viewable as a function ofprogress through the progress length. The visual content may have afield of view. In some implementations, the video may include aspherical video and the field of view may include a spherical field ofview. The visual content of the spherical video may be viewable from apoint of view as the function of progress through the progress length.

The framing information component may be configured to obtain framinginformation for the video and/or other information. The framinginformation for the video may characterize framings of the visualcontent of the video at moments within the progress length. Anindividual framing of the visual content may define a positioning of aviewing window within the field of view of the visual content at acorresponding moment within the progress length. The viewing window maydefine extents of the visual content to be included within apresentation of the video content. The framing information may bedetermined based on a user's interaction with a mobile device and/orother information. The mobile device may include a display. The mobiledevice may provide a presentation of the extents of visual contentdefined by the viewing window on the display to facilitate the user'sinteraction with the mobile device to determine the framing information.

In some implementations, the individual framing of the visual contentmay define the positioning of the viewing window within the field ofview of the visual content based on a viewing direction of the viewingwindow, a viewing size of the viewing window, and/or other information.In some implementations, the individual framing of the visual contentmay further define the positioning of the viewing window within thefield of view of the visual content based on a viewing rotation of theviewing window, a viewing projection of the viewing window, and/or otherinformation.

In some implementations, the framing information may characterize theviewing direction and/or the viewing rotation based on the framinginformation including orientation information of the mobile device.

In some implementations, the user's interaction with the mobile devicemay determine the framing information based on the user controllingorientation of the mobile device to set the viewing direction and/or theviewing rotation. In some implementations, the user's interaction withthe mobile device may determine the framing information further based onthe user controlling zooming operation of the mobile device to set theviewing size. In some implementations, the display of the mobile devicemay include a touchscreen display, and the zooming operation of themobile device may be controlled by the user based on the user making astretching gesture and/or a pinching gesture on the touchscreen display.

In some implementations, the framing information may characterize theframings of the visual content at non-adjacent moments within theprogress length. The framings of the visual content for a duration ofthe progress length between the non-adjacent moments may be determinedbased on the framings of the visual content at the non-adjacent momentsand/or other information.

In some implementations, the mobile device may further provide visualindications of the framings of the visual content at the moments withinthe progress length. The visual indications may be provided within thepresentation of the extents of the visual content defined by the viewingwindow.

The provision component may be configured to provide the framinginformation for the video to a video editing application. The videoediting application may utilize the framing information to providepreliminary framings of the visual content at the moments within theprogress length.

These and other objects, features, and characteristics of the systemand/or method disclosed herein, as well as the methods of operation andfunctions of the related elements of structure and the combination ofparts and economies of manufacture, will become more apparent uponconsideration of the following description and the appended claims withreference to the accompanying drawings, all of which form a part of thisspecification, wherein like reference numerals designate correspondingparts in the various figures. It is to be expressly understood, however,that the drawings are for the purpose of illustration and descriptiononly and are not intended as a definition of the limits of theinvention. As used in the specification and in the claims, the singularform of “a,” “an,” and “the” include plural referents unless the contextclearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system that utilizes device orientation for videoframing.

FIG. 2 illustrates a method for utilizing device orientation for videoframing.

FIG. 3 illustrates an example spherical visual content.

FIG. 4 illustrates example viewing directions for spherical videocontent.

FIGS. 5A-5B illustrate example extents of spherical visual content.

FIGS. 6A, 6B, 6C, and 6D illustrate example framings of visual content.

FIGS. 7A and 7B illustrate examples of viewing path segments.

FIG. 8 illustrates an example graphical user interface for videoframing.

FIGS. 9A and 9B illustrate example flows for video framing.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 10 for utilizing device orientation forvideo framing. The system 10 may include one or more of a processor 11,an interface 12 (e.g., bus, wireless interface), an electronic storage13, and/or other components. Video information, framing information,and/or other information may be obtained by the processor 11. The videoinformation may define a video. The video may include video contenthaving a progress length. The video content may include visual contentviewable as a function of progress through the progress length. Thevisual content may have a field of view. The framing information for thevideo may characterize one or more framings of the visual content at oneor more moments within the progress length. An individual framing of thevisual content may define a positioning of a viewing window within thefield of view of the visual content at a corresponding moment within theprogress length. The viewing window may define extents of the visualcontent to be included within a presentation of the video content. Theframing information may be determined based on a user's interaction witha mobile device and/or other information. The mobile device may includea display. The mobile device may provide a presentation of the extentsof visual content defined by the viewing window on the display tofacilitate the user's interaction with the mobile device to determinethe framing information. The framing information for the video may beprovided by the processor 11 to a video editing application thatutilizes the framing information to provide preliminary framings of thevisual content at the moments within the progress length.

The electronic storage 13 may be configured to include electronicstorage medium that electronically stores information. The electronicstorage 13 may store software algorithms, information determined by theprocessor 11, information received remotely, and/or other informationthat enables the system 10 to function properly. For example, theelectronic storage 13 may store video information defining video,information relating to video, information relating to visual content ofvideo, framing information for video, information relating to framingsof visual content, information relating to viewing window, informationrelating to mobile device, information relating to presentation of videocontent, information relate to user's interaction with mobile device,information relating to video editing application, information relatingto preliminary framings of visual content of video, and/or otherinformation.

A video may include content captured by a single image capture device(e.g., image sensor, camera), multiple image capture devices, and/or oneor more other capture devices (e.g., sound sensor, microphone). A videoincluding content captured by multiple capture devices may includecontent captured at the same location(s), content captured at differentlocations, content captured at the same time(s), and/or content capturedat different times. A video may include edited content. For example, avideo may include content of one or more other videos that have beenedited into a video edit.

Content of one or more videos may be referred to as video content. Videocontent may have a progress length. That is, a video may include videocontent having a progress length. A progress length may be defined interms of time durations and/or frame numbers. For example, video contentof a video may have a time duration of 60 seconds. Video content of avideo may have 1800 video frames. Video content having 1800 video framesmay have a play time duration of 60 seconds when viewed at 30 frames persecond. Other progress lengths, time durations, and frame numbers arecontemplated.

Video content may include visual content, audio content, and/or othercontent. For example, video content may include visual content viewableas a function of progress through the progress length of the videocontent, audio content playable as a function of progress through theprogress length of the video content, and/or other content that may beplayed back as a function of progress through the progress length of thevideo content.

Visual content may refer to content of one or more images and/or one ormore videos that may be consumed visually. For example, visual contentmay be included within one or more image and/or one or more video framesof a video. The video frame(s) may define the visual content of thevideo content. That is, video content may include video frame(s) thatdefine the visual content of the video content. Video frame(s) maydefine visual content viewable as a function of progress through theprogress length of the video content. A video frame may include an imageof the video content at a moment within the progress length of the videocontent. A video frame may include one or more of I-frame, P-frame,B-frame, frame of pixels, and/or other video frames. Visual content maybe generated based on light received within a field of view of a singleimage sensor or within fields of view of multiple image sensors during acapture period.

Visual content may have a field of view. A field of view of visualcontent may refer to an extent of a scene captured and/or viewablewithin the visual content. A field of view of visual content may referto a part of a scene from which light is received for generation of thevisual content. For example, the video may include a wide field of viewvideo, such as a spherical video defining visual content viewable from apoint of view as a function of progress through the progress length, andthe field of view may of the spherical video may include a sphericalfield of view (360 degrees of capture). Other wide field of view arecontemplated. A field of view of visual content may be static(unchanging) or dynamic (changing). For example, a field of view ofvisual content of video content may change as a function of progressthrough the progress length of the video content. Other fields of vieware contemplated.

Audio content may include audio/sound captured (e.g., by soundsensor(s), microphone(s)) with the capture of the visual content and/oraudio/sound provided as an accompaniment for the visual content. Audiocontent may include one or more of voices, activities, songs, music,and/or other audio/sounds. For example, audio content may include soundscaptured by a single sound sensor or an array of sound sensors. Thesound sensor(s) may receive and convert sounds into output signals. Theoutput signals may convey sound information and/or other information.The sound information may define audio content in one or more formats,such as WAV, MP3, MP4, RAW. Audio content may include audio/soundgenerated by one or more computing devices, such as procedural audio.Audio content may be synchronized with the visual content. For example,audio content may include music, song, and/or soundtrack, and the visualcontent of the video content may be synchronized with music, song,and/or soundtrack.

In some implementations, video content may include one or more ofspherical video content, virtual reality content, and/or other videocontent. Spherical video content and/or virtual reality content mayinclude visual content viewable from one or more points of view as afunction of progress through the progress length of thespherical/virtual reality video content.

Spherical video content may refer to video content generated throughcapture of multiple views from a location. Spherical video content maybe captured through the use of one or more image capture devices tocapture images/videos from a location. The captured images/videos may bestitched together to form the spherical video content. Spherical videocontent may include full spherical video content (360 degrees ofcapture) or partial spherical video content (less than 360 degrees ofcapture). Partial spherical video content may be referred to aspanoramic video content.

Visual content of spherical video content may be included within one ormore spherical video frames of the spherical video. The spherical videoframe(s) may define the visual content of the video content. That is,spherical video content may include spherical video frame(s) that definethe visual content of the spherical video content. Spherical videoframe(s) may define visual content viewable from a point of view (e.g.,within a sphere, center of a sphere) as a function of progress throughthe progress length of the spherical video content.

A spherical video frame may include a spherical image of the sphericalvideo content at a moment within the progress length of the sphericalvideo content. Visual content of spherical video content may begenerated based on light received within a field of view of a singleimage sensor or within fields of view of multiple image sensors during acapture period. For example, multiple images/videos captured by multiplecameras/image sensors may be combined/stitched together to form thevisual content of the spherical video content. The field of view ofcamera(s)/image sensor(s) may be moved/rotated (e.g., viamovement/rotation of optical element(s), such as lens, of the imagesensor(s)) to capture multiple images/videos from a location, which maybe combined/stitched together to form the visual content of thespherical video content.

For example, multiple images captured by multiple cameras/images sensorsat a moment in time may be combined/stitched together to form aspherical video frame for the moment in time. A spherical video framemay include a full spherical image capture (360-degrees of capture,including opposite poles) or a particular spherical image capture (lessthan 360-degrees of capture). A spherical image (e.g., spherical videoframe) may be comprised of multiple sub-images (sub-frames). Sub-imagesmay be generated by a single image sensor (e.g., at different times asthe field of view of the image sensor is rotated) or by multiple imagesensors (e.g., individual sub-images for a moment in time captured byindividual image sensors and combined/stitched together to form thespherical image).

In some implementations, spherical video content may be consumed asvirtual reality content. Virtual reality content may refer to videocontent that may be consumed via virtual reality experience. Virtualreality content may associate different directions within the virtualreality content with different viewing directions, and a user may view aparticular visual portion (e.g., visual content in a particulardirection) within the virtual reality content by looking in a particulardirection. For example, a user may use a virtual reality headset tochange the user's direction of view. The user's direction of view maycorrespond to a particular direction of view within the virtual realitycontent. For example, a forward/north looking direction of view for auser may correspond to a forward/north direction of view within thevirtual reality content.

Spherical video content and/or virtual reality content may have beencaptured at one or more locations. For example, spherical video contentand/or virtual reality content may have been captured from a stationaryposition (e.g., a seat in a stadium). Spherical video content and/orvirtual reality content may have been captured from a moving position(e.g., a moving bike). Spherical video content and/or virtual realitycontent may include video content captured from a path taken by theimage capture device(s) in the moving position. For example, sphericalvideo content and/or virtual reality content may include video contentcaptured by a spherical camera of a person walking around or riding in avehicle.

FIG. 3 illustrates an example spherical visual content 300. Thespherical visual content 300 may include content of a spherical image ora spherical video. The spherical visual content 300 may include visualcontent viewable from a point of view (e.g., center of sphere) as afunction of progress through the progress length of the spherical visualcontent 300. FIG. 3 illustrates example rotational axes for thespherical visual content 300. Rotational axes for the spherical visualcontent 300 may include a yaw axis 310, a pitch axis 320, a roll axis330, and/or other axes. Rotations about one or more of the yaw axis 310,the pitch axis 320, the roll axis 330, and/or other axes may definedirections of view (e.g., viewing directions) for the spherical visualcontent 300.

For example, a 0-degree rotation of the spherical visual content 300around the yaw axis 310 may correspond to a front viewing direction. A90-degree rotation of the spherical visual content 300 around the yawaxis 310 may correspond to a right viewing direction. A 180-degreerotation of the spherical visual content 300 around the yaw axis 310 maycorrespond to a back-viewing direction. A −90-degree rotation of thespherical visual content 300 around the yaw axis 310 may correspond to aleft viewing direction.

A 0-degree rotation of the spherical visual content 300 around the pitchaxis 320 may correspond to a viewing direction that may be level withrespect to horizon. A 45-degree rotation of the spherical visual content300 around the pitch axis 320 may correspond to a viewing direction thatmay be pitched up with respect to horizon by 45-degrees. A 90-degreerotation of the spherical visual content 300 around the pitch axis 320may correspond to a viewing direction that may be pitched up withrespect to horizon by 90-degrees (looking up). A −45-degree rotation ofthe spherical visual content 300 around the pitch axis 320 maycorrespond to a viewing direction that may be pitched down with respectto horizon by 45-degrees. A −90-degree rotation of the spherical visualcontent 300 around the pitch axis 320 may correspond to a viewingdirection that may be pitched down with respect to horizon by 90-degrees(looking down).

A 0-degree rotation of the spherical visual content 300 around the rollaxis 330 may correspond to a viewing direction that may be upright. A90-degree rotation of the spherical visual content 300 around the rollaxis 330 may correspond to a viewing direction that may be rotated tothe right by 90-degrees. A −90-degree rotation of the spherical visualcontent 300 around the roll axis 330 may correspond to a viewingdirection that may be rotated to the left by 90-degrees. Other rotationsand viewing directions are contemplated.

A playback of video content (e.g., the spherical video content) mayinclude presentation of one or more portions of visual content on one ormore displays based on a viewing window and/or other information. Aviewing window may define extents of the visual content viewable on oneor more displays as the function of progress through the progress lengthof the video content. The viewing window may define extents of thevisual content to be included within a presentation of the videocontent. For example, the viewing window may define extents of the videocontent to be presented on display(s) as the function of progressthrough the progress length of the video content. For spherical videocontent, the viewing window may define extents of the visual contentviewable from the point of view as the function of progress through theprogress length of the spherical video content.

The viewing window may be characterized by viewing directions, viewingsizes (e.g., viewing zoom, viewing magnification), viewing rotations,and/or other information. A viewing direction may define a direction ofview for video content. A viewing direction may define the angle/visualportion of the video content at which the viewing window may bedirected. A viewing direction may define a direction of view for thevideo content selected by a user, defined by instructions for viewingthe video content, and/or determined based on other information aboutviewing the video content as a function of progress through the progresslength of the video content (e.g., director track specifying viewingdirection to be presented during playback as a function of progressthrough the progress length of the video content). For spherical videocontent, a viewing direction may define a direction of view from thepoint of view from which the visual content may be defined. Viewingdirections for the video content may be characterized by rotationsaround the yaw axis 310, the pitch axis 320, the roll axis 330, and/orother axes. For example, a viewing direction of a 0-degree rotation ofthe video content around a yaw axis (e.g., the yaw axis 310) and a0-degree rotation of the video content around a pitch axis (e.g., thepitch axis 320) may correspond to a front viewing direction (the viewingwindow may be directed to a forward portion of the visual contentcaptured within the spherical video content).

For example, FIG. 4 illustrates example changes in viewing directions400 (e.g., selected by a user for video content, specified by adirector's track) as a function of progress through the progress lengthof the video content. The viewing directions 400 may change as afunction of progress through the progress length of the video content.For example, at 0% progress mark, the viewing directions 400 maycorrespond to a zero-degree yaw angle and a zero-degree pitch angle. At25% progress mark, the viewing directions 400 may correspond to apositive yaw angle and a negative pitch angle. At 50% progress mark, theviewing directions 400 may correspond to a zero-degree yaw angle and azero-degree pitch angle. At 75% progress mark, the viewing directions400 may correspond to a negative yaw angle and a positive pitch angle.At 87.5% progress mark, the viewing directions 400 may correspond to azero-degree yaw angle and a zero-degree pitch angle. The viewingdirections 400 may define a path of movement for the viewing window(e.g., a trajectory followed by the viewing window) as a function ofprogress through the progress length of the video content. Other viewingdirections are contemplated.

A viewing size may define a size of the viewing window. A viewing sizemay define a size (e.g., size, magnification, viewing angle) of viewableextents of visual content within the video content. A viewing size maydefine the dimensions of the viewing window. A viewing size may define asize of viewable extents of visual content within the video contentselected by a user, defined by instructions for viewing the videocontent, and/or determined based on other information about viewing thevideo content as a function of progress through the progress length ofthe video content (e.g., director track specifying viewing size to bepresented as a function of progress through the progress length of thevideo content). In some implementations, a viewing size may definedifferent shapes of viewable extents. For example, a viewing window maybe shaped as a rectangle, a triangle, a circle, and/or other shapes.

A viewing rotation may define a rotation of the viewing window. Aviewing rotation may define one or more rotations of the viewing windowabout one or more axis. In some implementations, a viewing rotation maybe defined by one or more parameters of a viewing direction. Forexample, a viewing rotation may be defined based on rotation about anaxis (e.g., the roll axis 330) corresponding to a viewing direction. Aviewing rotation may define a rotation of the viewing window selected bya user, defined by instructions for viewing the video content, and/ordetermined based on other information about viewing the video content asa function of progress through the progress length of the video content(e.g., director track specifying viewing rotation to be used as afunction of progress through the progress length of the video content).For example, a viewing rotation of a viewing window having a rectangularshape may determine whether the rectangular viewing window is to bepositioned in a portrait orientation (e.g., for a portrait view of thevideo content), in a landscape orientation (e.g., for a landscape viewof the video content), and/or other orientation with respect to thevisual content of the video content.

FIGS. 5A-5B illustrate examples extents of spherical visual content 500.In FIG. 5A, the size of the viewable extent of the spherical visualcontent 500 may correspond to the size of extent A 510. In FIG. 5B, thesize of viewable extent of the spherical visual content 500 maycorrespond to the size of extent B 520. Viewable extent of the sphericalvisual content 500 in FIG. 5A may be smaller than viewable extent of thespherical visual content 500 in FIG. 5B. The viewable extent of thespherical visual content 500 in FIG. 5B may be more tilted with respectto the spherical visual content 500 than viewable extent of thespherical visual content 500 in FIG. 5A. Other viewing sizes and viewingrotations are contemplated.

In some implementations, the viewing window may be characterized by aviewing projection. A viewing projection may define how pixels withinthe viewing window is arranged for presentation on a display. A viewingprojection may define how the pixels of an image are arranged to formthe visual content. A viewing projection may refer to how portions ofthe visual content/pixels are mapped onto a two-dimensional plane (e.g.,two-dimensional image). For example, a viewing projection may arrangepixels of the image such that one or more visual elements (defined byone or more pixels) of the visual content are stretched (e.g., at thetop or bottom of an image arranged using an equirectangular projection)or not stretched (e.g., middle of an image arranged using a rectilinearprojection). Example viewing projections may include rectilinearprojection, cylindrical projection, Mercator projection, Millerprojection, Lambert projection, equirectangular projection,stereographic projection, fisheye projection, equisolid projection,orthographic projection, cubic projection, sinusoidal projection,transverse projection (rotation of a projection by 90 degrees), Paniniprojection, architectural projection, and/or other viewing projections.

Referring back to FIG. 1 , the processor 11 may be configured to provideinformation processing capabilities in the system 10. As such, theprocessor 11 may comprise one or more of a digital processor, an analogprocessor, a digital circuit designed to process information, a centralprocessing unit, a graphics processing unit, a microcontroller, ananalog circuit designed to process information, a state machine, and/orother mechanisms for electronically processing information. Theprocessor 11 may be configured to execute one or more machine-readableinstructions 100 to facilitate utilizing device orientation for videoframing. The machine-readable instructions 100 may include one or morecomputer program components. The machine-readable instructions 100 mayinclude one or more of a video information component 102, a framinginformation component 104, a provision component 106, and/or othercomputer program components.

The video information component 102 may be configured to obtain videoinformation and/or other information. Obtaining video information mayinclude one or more of accessing, acquiring, analyzing, determining,examining, generating, identifying, loading, locating, opening,receiving, retrieving, reviewing, storing, and/or otherwise obtainingthe video information. The video information component 102 may obtainvideo information from one or more locations. For example, the videoinformation component 102 may obtain video information from a storagelocation, such as the electronic storage 13, electronic storage ofinformation and/or signals generated by one or more image sensors,electronic storage of a device accessible via a network, and/or otherlocations. The video information component 102 may obtain videoinformation from one or more hardware components (e.g., an image sensor)and/or one or more software components (e.g., software running on acomputing device).

The video information component 102 may be configured to obtain videoinformation defining a video during acquisition of the video and/orafter acquisition of the video by one or more image sensors/imagecapture devices. For example, the video information component 102 mayobtain video information defining a video while the video is beingcaptured by one or more image sensors/image capture devices. The videoinformation component 102 may obtain video information defining a videoafter the video has been captured and stored in memory (e.g., theelectronic storage 13).

In some implementations, the video information may be obtained based ona user's interaction with a user interface/application (e.g., videoediting application, video player application), and/or otherinformation. For example, a user interface/application may provideoption(s) for a user to select one or more videos to be presented and/orfor which video framings are to be determined. The video informationdefining the video(s) may be obtained based on the user's selection ofthe video(s) through the user interface/video application.

The video information may define a video (e.g., non-spherical video,spherical video, panoramic video). The video information may define avideo by including information that defines one or more content,qualities, attributes, features, and/or other aspects of the video. Forexample, the video information may define a video by includinginformation that makes up the content of the video and/or informationthat is used to determine the content of the video. For instance, thevideo information may include information that makes up and/or is usedto determine the arrangement of pixels, characteristics of pixels,values of pixels, and/or other aspects of pixels that define visualcontent of the video. For example, the video information may includeinformation that makes up and/or is used to determine pixels of videoframes of the video. Other types of video information are contemplated.

Video information may be stored within a single file or multiple files.For example, video information defining a video may be stored within avideo file, multiple video files, a combination of different files(e.g., a visual file and an audio file), and/or other files. Videoinformation may be stored in one or more formats or containers. A formatmay refer to one or more ways in which the information defining a videois arranged/laid out (e.g., file format). A container may refer to oneor more ways in which information defining a video is arranged/laid outin association with other information (e.g., wrapper format).

The framing information component 104 may be configured to obtainframing information for the video and/or other information. Obtainingframing information may include one or more of accessing, acquiring,analyzing, determining, examining, generating, identifying, loading,locating, opening, receiving, retrieving, reviewing, storing, and/orotherwise obtaining the framing information. The framing informationcomponent 104 may obtain framing information from one or more locations.For example, the framing information component 104 may obtain framinginformation from a storage location, such as the electronic storage 13,electronic storage of a device accessible via a network, and/or otherlocations. The framing information component 10 r may obtain framinginformation from one or more hardware components (e.g., computingdevice, electronic storage, mobile device) and/or one or more softwarecomponents (e.g., software running on a computing device, softwarerunning on a mobile device). Framing information may be stored within asingle file or multiple files.

In some implementation, the framing information component 104 may obtainframing information based on the video information and/or the videoinformation component 102 obtaining the video information. For example,the framing information may be associated with the video/videoinformation obtained by the video information component 102, and theframing information component 104 may obtain the associated framinginformation based on obtaining of the video information. The framinginformation may be included within metadata of the obtained video, andthe framing information may be obtained based on obtaining (e.g.,selection, retrieval) of the video. The framing information may beincluded within the video information, and the framing in informationcomponent 104 may obtain framing information by extracting the framinginformation from the video information.

The framing information for the video may characterize framings of thevisual content of the video at one or more moments within the progresslength. The framing information for the video may characterizingframings of the visual content by describing, defining, and/or otherwisecharacterizing framings of the visual content at moment(s) within theprogress length. A moment within the progress length may include a point(e.g., a point in time, a video frame) or a duration (e.g., a durationof time, a grouping of adjacent video frames) within the progresslength. For example, the framing information for the video maycharacterize same or different framings of the visual content of thevideo at different moments within the progress length. The framinginformation for the video may characterize multiple framings of thevisual content of the video at same and/or different moments within theprogress length.

An individual framing of the visual content may define a positioning ofa viewing window within the field of view of the visual content at acorresponding moment within the progress length. The viewing window maydefine extents of the visual content to be included within apresentation of the video content. A positioning of the viewing windowwithin the field of view of the visual content may refer to placement ofthe viewing window within the field of view of the visual content. Thepositioning/placement of the viewing window may be defined by one ormore of viewing direction, viewing size, viewing rotation, and/or otherinformation. An individual framing of the visual content may definearrangement of pixels within the viewing window for presentation. Thearrangement of the pixels within the viewing window may be defined byviewing projection and/or other information.

A positioning/placement of a viewing window within the field of view ofthe visual content may be effectuated through movement (translationalmovement, rotational movement) of the viewing window with respect to thefield of view of the visual content and/or through movement of the fieldof view of the visual content (e.g., movement of the visual content inthe image space). The positioning/placement of the viewing window maydetermine framing of the visual content. In some implementations,direction, shape, size, projection, and/or other characteristics of theviewing window may be selected to determine the framing of the visualcontent. The characteristics of the viewing window may determine how theextent of the visual content within the viewing window is framed forpresentation. For example, an individual framing of the visual contentmay define the positioning of the viewing window within the field ofview of the visual content based on a viewing direction of the viewingwindow, a viewing size of the viewing window, and/or other information.The individual framing of the visual content may further define thepositioning of the viewing window within the field of view of the visualcontent based on a viewing rotation of the viewing window, a viewingprojection of the viewing window, and/or other information.

The framing information may be determined based on a user's interactionwith a mobile device and/or other information. A mobile device may referto portable computing device. A mobile device may refer to a computingdevice that is small enough to be held and operated in hand, such as asmartphone and/or a tablet. Other mobile devices are contemplated. Themobile device may include one or more displays. In some implementations,one or more displays of the mobile device may include touchscreendisplay(s). The mobile device may provide a presentation of the visualcontent of the video on one or more displays. The mobile device mayprovide a presentation of the extents of visual content defined by theviewing window on the display(s). The extents of the visual contentdefined by the viewing window may be presented on the display(s) tofacilitate the user's interaction with the mobile device to determinethe framing information (to set the framing of the visual content). Asthe user interacts with the mobile device to change the framing of thevisual content, the selected framing of the visual content may bepresented on the display(s), allowing the user to see how the visualcontent will be framed during playback.

A user's interaction with the mobile device to determine the framinginformation may include the user acting on the mobile device and/oroperating the mobile device in one or more ways to determine the framinginformation. A user's interaction with the mobile device may include theuser interacting with one or more buttons (e.g., physical buttons,virtual buttons presented on the display) of the mobile device and/orthe user changing the orientation of the mobile device. The mobiledevice may include one or more positions sensors (e.g., inertialmeasurement unit, accelerometer, gyroscope, magnetometer) to measure theorientation of the mobile device.

A user's interaction with the mobile device to determine the framinginformation may include the user interacting with the mobile device tospecify one or more framings of the visual content at one or moremoments within the progress length of the video. For example, a user mayinteract with the mobile device to select moments within the progresslength to specify framings of the visual content at the correspondingcontent. The user may specify the framings of the visual content bysetting one or more characteristics of the viewing window at thecorresponding moments. For example, the user may interact with themobile device to set, for a corresponding moment within the progresslength, one or more of the viewing direction, the viewing size, theviewing rotation, the viewing projection, and/or other information todefine the framing of the visual content.

In some implementations, the user's interaction with the mobile devicemay determine the framing information based on the user controllingorientation of the mobile device to set the viewing direction and/or theviewing rotation. The user may change the orientation (rotationalposition) of the mobile device (e.g., with respect to ground) to changethe viewing direction. That is, the user may rotate the mobile device tochange the direction in which the viewing window is pointed/locatedwithin the field of view of the visual content to look at differentextents of the visual content. For instance, the user may rotate themobile device about the yaw axis and/or the pitch axis to change theviewing direction for the visual content in the direction of rotation(e.g., rotating to the right, left, pitch-up, pitch-down). The user mayrotate the mobile device (e.g., tilt to right, left) to change theviewing rotation for the video content.

The position sensor(s) of the mobile device may record theorientation/changes in orientation of the mobile device and store themas orientation information of the mobile device. The orientationinformation may characterize orientation of the mobile device as afunction of the progress length of the video, which may be used todetermine the viewing direction and/or the viewing rotation of theviewing window as the function of the progress length of the video. Insome implementations, the framing information may characterize theviewing direction and/or the viewing rotation based on the framinginformation including orientation information of the mobile device.

Thus, the user may move the mobile device as a control device to perform3D spatial navigation of the visual content. The user may orient themobile device in different positions within the real world to seedifferent extents of the visual content. The user may explore the visualcontent in both space (different extents of the visual content) and time(different moments within the progress length) to determine framings ofthe visual content at different moments within the progress length ofthe video. Such determinations of video framing may be more intuitiveand natural than traditional video framing using video editingapplications, where the position of the display remains static anddifferent extents of the visual content are explored via user commandreceived through mouse/keyboard.

In some implementations, the user's interaction with the mobile devicemay determine the framing information further based on the usercontrolling zooming operation of the mobile device to set the viewingsize. The zooming operation of the mobile device may refer to operationof the mobile device that changes the size of the viewing window(viewing size). For example, the mobile device may include physicalbuttons mapped to zoom-in and zoom-out operations, and the zoomingoperation of the mobile device may be controlled by the user based onthe user pressing the corresponding physical buttons todecrease/increase the viewing size. The mobile device may include atouchscreen display, which presents virtual buttons mapped to zoom-inand zoom-out operations, and the zooming operation of the mobile devicemay be controlled by the user based on the user pressing thecorresponding virtual buttons to decrease/increase the viewing size. Themobile device may include a touchscreen display, and the zoomingoperation of the mobile device may be controlled by the user based onthe user making a stretching gesture (e.g., zoom in) and/or a pinchinggesture (e.g., zoom out) on the touchscreen display to decrease/increasethe viewing size. The zooming operation of the mobile device may be tiedto its location (e.g., translational location), and the zoomingoperation of the mobile device may be controlled by the user based onthe use moving the mobile device forward (e.g., zoom in) or backward(e.g., zoom out) to decrease/increase the viewing size.

The user may interact with the mobile device to continuously set theframings of visual content and/or to set the framings of visual contentat non-adjacent moments within the progress length. For example, theuser may interact with the mobile device (e.g., press a “record” button)to start “recording” the framings of visual content using the mobiledevice. After the “recording” has started, the orientation informationof the mobile device may be stored to characterize the viewing directionand/or the viewing rotation of the viewing window at a rate that isneeded to specify viewing direction for individual moments/video framesthat will be presented on playback. Adjacent sampling moments based onthe rate may be referred to as adjacent moments within the progresslength. Such setting of the framings may enable a user to move themobile device to “record” desired views of the visual content while thevisual content is being played. The user may position the mobile deviceat different orientations, and the changes in the orientations of themobile device may be recorded at a rate to provide framings of thevisual content at the adjacent moments. In some implementations, theframing information may characterize the framings of the visual contentat the adjacent moments within the progress length.

As another example, the user may interact with the mobile device to setthe framings of the visual content at non-continuous/non-adjacentmoments within the progress length of the video. The user may navigateto a particular moment within the progress length and set the framingfor the particular moment, then jump to a different (e.g., future, past)moment within the progress length and set the framing for the differentmoment. In some implementations, the framing information maycharacterize the framings of the visual content at non-adjacent momentswithin the progress length. The framings at the non-adjacent moments mayprovide a beginning framing and an ending framing for the durationbetween the non-adjacent moments. The framings of the visual content forduration(s) of the progress length between the non-adjacent moments maybe determined based on the framings of the visual content at thenon-adjacent moments and/or other information. That is, for a pair ofnon-adjacent moments for which framings are set, the framings of thevisual content between the non-adjacent moment (e.g., a duration of timebetween two non-adjacent moments), may be determined based on thepreceding framing at the preceding non-adjacent moment, the subsequentframing at the subsequent non-adjacent moment, and/or other information.For example, one or more splines that goes through the preceding viewingdirection and the subsequent viewing direction may be used to determinethe changes in viewing directions between the pair of non-adjacentmoments.

In some implementations, the user may interact with the mobile device tochange which portions of the progress length of the video are to beincluded and/or not included within the presentation of the visualcontent. For example, the user may interact with the mobile device toscrub forward in time to provide a jump cut in the presentation. In someimplementations, the user may pause the presentation of the visualcontent on the mobile device to provide one or more effects in theplayback of the visual content. For example, the user may pause thepresentation of the visual content on the mobile device and change theviewing direction to provide a cut change in the viewing direction(rather than a panning change in viewing direction). As another example,the user may pause the presentation of the visual content on the mobiledevice and “record” the orientation of the mobile device during thepause to provide a panning shot of the visual content at the pausedmoment. This may create an effect in the playback of the visual contentwhere the paused moment (e.g., a point in time, a video frame) isrepeated to provide a paused shot of the moment, and the playback showsdifferent extents of the paused moment. Such a framing may be referredto as a moment-to-duration framing.

A moment-to-duration framing may refer to a framing that changes theprogress length of the video/visual content. For example, amoment-to-duration framing may extend a moment (e.g., point in time,duration of time) within the progress length to a duration longer thanthe moment within the progress length/presentation of the video content.A moment-to-duration framing may include visual content at a pointwithin the progress length that has been duplicated over a durationlonger than the point. For instance, a video frame corresponding to themoment-to-duration framing may be duplicated into multiple video framesso that the same content within the video frame is presented during theduration corresponding to the moment-to-duration framing.

As another example, a moment-to-duration framing may include a videosegment with the playback rate and/or playback direction defined by themoment-to-duration framing. For instance, video frames corresponding tothe moment-to-duration framing may be played back at a playback ratedifferent (e.g., faster, slower) than the normal playback rate (1×speed) and/or the order/direction in which the video frames arepresented may be changed (e.g., forward playback direction, reverseplayback direction).

A moment-to-duration framing may include multiple sub-framings withinthe duration of the moment-to-duration framing. A sub-framing may referto a framing within the duration of the moment-to-duration framing. Themultiple sub-framings within the duration may enable different portionsof the visual content corresponding to the duration to be includedwithin a presentation of the visual content. For example, for amoment-to-duration framing that extend a moment (e.g., point in time,duration of time) within the progress length to a duration longer thanthe moment within the progress length/presentation of the video content,multiple sub-framings may simulate the video being paused for theduration and different portions of the visual content being presentedwhile the video is paused.

FIGS. 6A, 6B, and 6C illustrate example framings of visual content 600at different moments within the progress length of the visual content600. For instance, the visual content 600 may include visual content ofa video, and FIGS. 6A, 6B, and 6C may illustrate the visual content 600within different video frames of the video (content of the video framesat different moments within the progress length). For example, as shownin FIG. 6A, framing of the visual content 600 at a first moment withinthe progress length may include a viewing window 610 being positioned atthe front of the visual content 600 and being leveled within the visualcontent 600. Such framing of the visual content 600 may be determinedbased on a mobile device 602 being horizontally leveled and a back ofthe mobile device 602 being pointed in a front direction (directioncorresponding to the front of the visual content 600). As shown in FIG.6B, a framing of the visual content 600 at a second moment (subsequentto the first moment) within the progress length may include the viewingwindow 610 being positioned at the back of the visual content 600 andbeing leveled within the visual content 600. Such framing of the visualcontent 600 may be determined based on a mobile device 602 beinghorizontally leveled and the back of the mobile device 602 being pointedin a back direction (direction corresponding to the back of the visualcontent 600). As shown in FIG. 6C, a framing of the visual content 600at a third moment (subsequent to the second moment) within the progresslength may include the viewing window 610 being positioned atfront-upper-right of the visual content 600. The framing of the visualcontent 600 at the third moment may include the viewing window 610 beingtilted and having a different dimension (e.g., different shape, smallersize) than the framing of the visual content at the first moment and thesecond moment. Such framing of the visual content 600 may be determinedbased on a mobile device 602 being tiled/pitched, the user interactingwith a touchscreen of the mobile device to change the viewing size ofthe viewing window, and the back of the mobile device 602 being pointedin an upper right direction. Other framings of the visual content arecontemplated.

FIG. 6D illustrate an example moment-to-duration framing of visualcontent 600. The visual content 600 may corresponds to visual content ofa video at a moment (e.g., a point in time) within the progress lengthof the video. For example, the visual content 600 may be visual contentof a video frame within the video. The moment-to-duration framing of thevisual content 600 may extend the moment within the progress length to aduration longer than the moment within the progress length/presentationof the video content. The moment-to-duration framing of the visualcontent 600 may include the visual content 600 being duplicated over theduration (the video frame being duplicated to extend the duration) sothat the presentation of the video appears to be paused during playbackof the duration. The moment-to-duration framing of the visual content600 may include multiple sub-framings within the duration. For example,as shown in FIG. 6 , the moment-to-duration framing of the visualcontent 600 may include three sub-framings within the duration. Forinstance, the multiple sub-framings of the visual content 600 mayinclude the viewing window 610 being positioned (1) at the front of thevisual content 600 and being leveled within the visual content 600 atthe beginning of the duration, (2) at the back of the visual content 600and being leveled within the visual content 600 within the duration(e.g., at the mid-point, at non-midpoint), and (3) at front-upper-rightof the visual content 600 and being tiled and having a differentdimension at the end of the duration. Other sub-framings of the visualcontent are contemplated.

The viewing directions of the viewing window may form a viewing path forthe video. A viewing path may refer to a path or a progression of thepositioning of the viewing window within the field of view of the visualcontent as the function of progress through the progress length. Aviewing path may define the positioning of the viewing window within thefield of view of the visual content as the function of progress throughthe progress length. A viewing path may define one or more of viewingdirection, viewing size, viewing rotation, viewing projection, and/orother information to define the positioning of the viewing window withinthe field of view of the visual content.

The positioning of the viewing window defined by the viewing path mayinclude the positioning of the viewing window defined by the multipleframings of the visual content. Different framings of the visual contentat different moments within the process length may dictate thepositioning of the viewing window defined by the viewing path. Differentframings of the visual content at different moment within the processlength may define fixed positionings of the viewing window within theviewing path. The viewing path may include the viewing directions set bythe user in setting the framings of the visual content. For instance,the multiple framings may reflect a user's intended spatial and temporalpositioning of the viewing window for a spherical video and the viewingpath may define a path on the sphere that takes into account the user'sdesignations (e.g., markers) that reflect which portions of thespherical video should be presented during playback.

In some implementations, the viewing path may reflect the viewingdirection, the viewing size, the viewing rotation, and/or the viewingprojection specifically selected by the user by controlling theorientation of the mobile device. In some implementations, the viewingpath may reflect interpolated viewing directions, interpolated viewingsize, interpolated viewing rotation, and/or interpolated viewingprojection determined based on the viewing directions, the viewing size,the viewing rotation, and/or the viewing projection specificallyselected by the user. In some implementations, the viewing path mayreflect interpolated viewing directions, determined based on the viewingdirections specifically selected by the user. The viewing path mayreflect interpolated viewing size determined based on the viewing sizespecifically selected by the user. The viewing path may reflectinterpolated viewing rotation determined based on the viewing rotationspecifically selected by the user. The viewing path may reflectinterpolated viewing projection determined based on the viewingprojection specifically selected by the user. For instance, individualsegments within the viewing path may be determined based on framings ofthe visual content at the start and the end of the segments.

FIGS. 7A and 7B illustrate examples of viewing path segments 720, 725.The viewing paths 720, 725 may be determined based on the framings ofthe visual content 600 shown in FIGS. 6A, 6B, and 6C. The framings ofthe visual content 600 shown in FIGS. 6A, 6B, and 6C may define fixedpositionings of the viewing window 610 for the visual content 600 atdifferent moment within the progress length of the visual content 600.The viewing path for the visual content may be determined to include theviewing path segment 720, 725.

The adjacent framings shown in FIGS. 6A and 6B may be used to determinethe viewing path segment 720. Adjacent framings of the visual contentmay define fixed positionings of the viewing window within the viewingpath at their corresponding moments (at the first moment and the secondmoment). The viewing path segment 720 may be determined to include thefixed positionings of the viewing window within the viewing path so thatthe viewing path segment 720 starts (at the first moment) with theviewing window 610 positioned at the front of the visual content 600 andbeing leveled within the visual content 600 and ends (at the secondmoment) with the viewing window 710 positioned at the back of the visualcontent 600 and being leveled within the visual content 600.

The viewing path segment 720 may be determined to include changes in thepositioning of the viewing window between the fixed positionings of theviewing window within the viewing path segment 720 so that one or moreof the viewing direction, the viewing size, the viewing rotation, and/orthe viewing projection for the viewing window 610 changes from the beingpositioned at the front of the visual content 600 and being leveledwithin the visual content 600 to being positioned at the back of thevisual content 600 and being leveled within the visual content 600. Forinstance, in FIG. 7A, the viewing path segment 720 may include changesin the viewing direction of the viewing window 610 from being pointed inthe front of the sphere to the back of the sphere.

The adjacent framings shown in FIGS. 6B and 6C may be used to determinethe viewing path segment 725. Adjacent framings of the visual contentmay define fixed positionings of the viewing window within the viewingpath at their corresponding moments (at the second moment and the thirdmoment). The viewing path segment 725 may be determined to include thefixed positionings of the viewing window within the viewing path so thatthe viewing path segment 725 starts (at the second moment) with theviewing window 610 positioned at the back of the visual content 600 andbeing leveled within the visual content 600 and ends (at the thirdmoment) with the viewing window 710 positioned at front-upper-right ofthe visual content 600, being tilted, and having a different dimension(e.g., different shape, smaller size) than the positioning of the visualcontent at the first moment and the second moment.

The viewing path segment 725 may be determined to include changes in thepositioning of the viewing window between the fixed positionings of theviewing window within the viewing path segment 725 so that one or moreof the viewing direction, the viewing size, the viewing rotation, and/orthe viewing projection for the viewing window 610 changes from the beingpositioned at the back of the visual content 600 and being leveledwithin the visual content 600 and ends with the viewing window 710positioned at front-upper-right of the visual content 600, being tilted,and having a different dimension. For instance, in FIG. 7B, the viewingpath segment 725 may include changes in the viewing direction of theviewing window 610 from being pointed to the back of the sphere to thefront-upper-right of the sphere. The viewing path segment 725 mayinclude changes in the viewing size of the viewing window 610 from beingrectangular in shape to be a smaller square in shape. The viewing pathsegment 725 may include changes in the viewing rotation of the viewingwindow 610 from being leveled to being tilted. In some implementations,viewing rotations of the fixed positioning of the viewing window may beignored and the viewing window may be leveled (with respect to horizon)to provide a leveled view of the visual content. The viewing pathsegment 725 may include changes in the viewing projection of the viewingwindow 610 from one type of viewing projection to another type ofviewing projection. Other changes in the positioning of the viewingwindow are contemplated.

One or more types of interpolations may be used to determine changes inthe positioning of the viewing window between fixed positionings of theviewing window within the viewing path. For example, a linearinterpolation may be used to determine changes in the positioning of theviewing window along the viewing path segment 720 so that the viewingdirection changes linearly (the same amount of change in viewingdirection for the same amount of the progress length) from being pointedto the front of the sphere to the back of the sphere. A non-linearinterpolation may be used to determine changes in the positioning of theviewing window along the viewing path segment 725 so that the viewingdirection changes non-linearly (different amount of change in viewingdirection for the same amount of the progress length) from being pointedto the back of the sphere to the front-upper-right of the sphere. Forinstance, an S-type non-linear curve may be used for non-linearinterpolation so there are (1) smaller changes in the viewing directionin the beginning and the end of the viewing path segment 725 and (2)larger changes in the viewing direction in the middle of the viewingpath segment 725, or vice versa. Other types of non-linear interpolationfor changes in the positioning of the viewing window are contemplated.

In some implementations, the viewing path may be changed based on userinteraction with the mobile device, and/or other information. Forexample, the user may interact with the mobile device to add a newframing, remove an existing framing, and/or modify an existing framing.The viewing path may be changed based on addition of the new framing ofthe visual content, removal of the existing framing of the visualcontent, and/or modification (e.g., modification of viewing direction,viewing size, viewing rotation, and/or viewing projection) of theexisting framing of the visual content.

In some implementations, framings set by the user via interaction withthe mobile device may be smoothed. The framings sets by the user viainteraction with the mobile device may include rough interactions, whichmay result in rough presentation of the visual content. For example, auser may change the orientation of the mobile device to change theviewing direction for the visual content. However, the motion to changethe orientation may not be smooth, such as based on unintentionalshaking of the user's hand and/or unintentional jerkiness in the motion,which may result in shaky/jerky changes in the viewing direction duringpresentation of the visual content within the viewing window. As anotherexample, a user may change size of the viewing window by makingstretching and/or pitching gestures on a touchscreen display. The user'sfinger motion across the surface of the touchscreen display may not besmooth. For instance, the user's finger(s) may catch on the touchscreendisplay and the jerky motion of the finger(s) may result in a jerkyzoom-in on the visual content. That is, rather than smoothly changingthe zoom with which the visual content may be viewed, the change in zoomfor viewing the video content may include stagger, jitter, and/or otherjerk in change. Other undesirable changes in the viewing direction,viewing rotation, viewing size, and/or viewing projection of the viewingwindow due to user interaction with the mobile device are contemplated.

Framings set by the user via interaction with the mobile device may besmoothed to provide smooth presentation of the visual content within theviewing window. Changes in framings of the visual content may besmoothed so that changes in viewing direction, viewing rotation, viewingsize, and/or viewing projection used to present the visual content aresmoother (e.g., includes less jitters, shakes) than the changes set viathe user's interaction with the mobile device. The framings of thevisual content may be smoothed by changing the values of the viewingdirection, viewing rotation, viewing size, and/or viewing projectionfrom original values to smoothed values. In some implementations, theframings of the visual content may be smoothed by reducing the frequencyof framings included in the framing information. For example, theframing information may define orientation data of the mobile device forevery 10 milliseconds. The frequency of the orientation data may bereduced to create sparse orientation data and curve fit may be used onthe sparse orientation data to determine the framings of the visualcontent.

In some implementations, one or more graphical user interfaces may bepresented on one or more displays of the mobile device. The graphicaluser interface(s) may provide information and/or enable a user toprovide inputs to the mobile device to facilitate the user's interactionwith the mobile device to determine the framing information. FIG. 8illustrates an example graphical user interface 800 for video framing.Other types and configurations of graphical user interface arecontemplated.

The graphical user interface 800 may be presented on one or moredisplays of the mobile device. The graphical user interface 800 mayinclude presentation of visual content. The graphical user interface 800may include presentation of extents of the visual content defined by(within) a viewing window 802. The graphical user interface 800 mayinclude a scrubber 810. The scrubber 810 may represent the progresslength of the video/visual content. A current position indicator 812 mayindicate the current moment of the video/visual content being presented.That is, the visual content of the video displayed on the display(s) ofthe mobile device may correspond to the moment indicated by the currentposition indicator 812. In some implementations, a user may be able tochange the position of the current position indicator 812 along thescrubber 810 to change which portion of the video/visual content isdisplayed.

The graphical user interface 800 may include framing moment indicators,such as a framing moment indicator A 814, a framing moment indicator B816, and a framing moment indicator C 818. The framing moment indicators814, 816, 818 may be positioned on/along the scrubber 810, and mayvisually indicate the moments at which framings of the visual contenthave been set. A line between the framing moment indicator C 818 and theframing moment indicator D 820 may visually represent amoment-to-duration framing. For example, a video frame at the point intime corresponding to the framing moment indicator C 818 may have beenduplicated to extent the progress length of the video/visual content.The framing moment indicators may provide visual cues as to the temporallocations of the preceding and/or next framings.

The graphical user interface 800 may include framing indicators tovisually represent the positioning of the viewing window for momentswithin the progress length. The inclusion of the framing indicatorswithin the graphical user interface 800 may enable the mobile device toprovide visual indications of the framings of the visual content at themoments within the progress length. These visual indications may beprovided within the presentation of the extents of the visual contentdefined by the viewing window. For example, the framing indicators maybe overlaid on top of the visual content presented on the display(s) ofthe mobile device. For example, referring to FIG. 8 , the graphical userinterface 800 may include a framing indicator A 804 and a framingindicator B 806. The framing indicator A 804 may visually represent thepositioning of the viewing window within the field of view of the visualcontent for the moment corresponding the framing moment indicator A 814.The framing indicator B 806 may visually represent the positioning ofthe viewing window within the field of view of the visual content forthe moment corresponding the framing moment indicator B 816.

In some implementations, framing indicators may be presented forframings that are outside the current framing of the visual content. Forexample, one or more arrows and/or other visual indicators may bepresented at the periphery of the display to indicate in which directionthe preceding and/or next framings are located. In some implementations,different types of visual indicators may be presented based on thedistance between the current framing (as shown within the viewing window802) and the preceding and/or next framings. For example, the size,shape, and/or color of the arrow(s) and/or other visual indicators maychange based on the distance between the current framing and thepreceding and/or next framings.

Presentation of the framing indicators may enable a user to see whereone or more preceding framings and/or one or more subsequent framingsare positioned with respect to current framing of the visual content.The framing indicators may provide visual cues as to the spatiallocations of the preceding and/or next framings.

In some implementations, prominence of the framing moment indicatorsand/or the framing indicators may change based on the amount ofdifference between the current moment being presented within thegraphical user interface 800 and the moments corresponding to theframing moment indicators/framing indicators. For example, appearance ofthe framing moment indicators and/or the framing indicators may changebased on the difference between the current moment being presentedwithin the graphical user interface 800 and the moments corresponding tothe framing moment indicators/framing indicators. For instance, closerthe moments corresponding to the framing moment indicators/framingindicators are to the current moment (indicated by the current positionindicator 812), the appearance of the framing indicators may be mademore prominent (e.g., different colors for different differences, darkercolors for closer moments). As the presentation of the video/visualcontent within the graphical user interface 800 approaches a framingmoment, the corresponding framing indicator may gain visual prominence.As presentation of the video/visual content within the graphical userinterface 800 goes past the framing moment, the corresponding framingindicator may lose visual prominence (e.g., diminishes) until itdisappears from view. Other visual changes to change the prominence ofthe framing moment indicators and/or the framing indicators arecontemplated.

The user may interact with the graphical user interface 800 to setframings for different moments within the progress length of thevideo/visual content. The user may interact with the graphical userinterface to add, remove, and/or modify framings of visual content. Forexample, the graphical user interface 800 may include a button that maybe pushed by the user to set the current view presented within theviewing window 802 as the framing for the corresponding moment. Forexample, the user may interact with the framing indicators, the framingmoment indicators, and/or other buttons to modify and/or remove anexisting framing. The user may move forward and/or backward in theprogress length of the video/visual content to see where framings of thevisual content are located. In some implementations, one or more visual,audio, and/or haptic feedback may be provided to indicate presence ofthe framings. For example, an audio que may be provided to indicate thelocation of the next framing, such as by using words that direct theuser to the location of the next framing and/or using spatial audio toindicate relative position of the next framing with respect to currentframing.

In some implementations, the graphical user interface 800 may provideinformation on changes to an existing framing. For example, the usermay, at a moment indicated by the current position indicator 812 in FIG.8 , begin recording orientation of the mobile device to determineviewing directions of the viewing window. When the presentation of thevisual content approaches/reaches the moment corresponding to theframing moment indicator B 816, the graphical user interface 800 mayprovide visual cues to indicate that the play position isapproaching/has reached an existing framing. In some implementations,the user may be prevented from indirectly changing the existing framing,and may be required to manually remove the existing framing. In someimplementations, the user may be allowed to change the existing framingby “recording” new orientation of the mobile device over the existingframing. In some implementations, the user may be given the option ofkeeping or replacing the existing framing.

The provision component 106 may be configured to provide the framinginformation for the video to a video editing application. Providingframing information may include one or more of sending, supplying,interpreting, making available, offering, and/or otherwise providing theframing information to the video editing application. The provisioncomponent 106 may provide to the video editing application the sameframing information obtained by the framing information component 104and/or may provide to the video edit application different framinginformation. For example, the provision component 106 may obtain framinginformation from a mobile device by retrieving the orientationinformation of the mobile device. The provision component 106 may modifythe retrieved orientation information or generate new framinginformation based on the retrieved orientation information. Themodified/new framing information may include the orientation informationof the mobile device into converted into framing information (e.g.,information defining positioning of the viewing window) for use by thevideo editing application. As another example, the provision component106 may retrieve the orientation information of the mobile device andprovide the orientation information to the video editing application,and the video editing application may analyze the orientationinformation to determine framing of the visual content in accordancewith the orientation information. Other provision of the framinginformation are contemplated.

A video editing application may refer to an application (software,program, tool, plugin) that enables a user to edit a video. A videoediting application may provide one or more options to edit a video,such as options to determine which spatial and/or temporal portions ofthe video are to be included within a video edit, options to determinethe order in which the selected spatial and/or temporal portions are tobe included within the video edit, and/or options to determine whicheffects (e.g., visual effects, audio effects) are to be included withinthe video edit. For instance, a video editing application may provideone or more options to edit a spherical video.

The framing information may be provided to the video editing applicationfor use in providing preliminary framings of the visual content at themoments within the progress length. The video editing application mayutilize the framing information to provide preliminary framings of thevisual content at the moments within the progress length. Preliminaryframings of the visual content may refer to framings of the visualcontent that are initially presented to the user by the video editingapplication. For example, the video editing application may use theframings of the visual content characterized by the framing informationto provide framings of the visual content within the video edit. Thevideo editing application may provide visual representation of theframings, such as by providing preview of the framings. The videoediting application may enable a user to add, remove, and/or changingframings of the visual content.

Thus, the mobile device may be used to set the framings of the visualcontent and the framings of the visual content may be transferred to thevideo edit application for use (e.g., as default framings of the visualcontent, for additional edits using traditional tools). FIGS. 9A and 9Billustrate example flows 900, 910 for video framing. In FIG. 9A, theflow 900 may start with mobile device framing 902, in which a user usesthe mobile device to set the framings of the visual content. The flow900 may continue to video editing 904, where the framings of the visualcontent set using the mobile device is used by a video editingapplication to provide preliminary framings of the visual content. InFIG. 9B, the flow 910 may start with mobile device framing 912, in whicha user uses the mobile device to set the framings of the visual content.The flow 910 may continue to video editing 914, where the framings ofthe visual content set using the mobile device is used by a videoediting application to provide preliminary framings of the visualcontent. If additional framings of the visual content are desired to beset and/or changes in the framings of the visual content are desired,the flow 910 may return to mobile device framing 912. The user may usethe mobile device to set new framings of the visual content and/ormodify existing framings of the visual content.

Implementations of the disclosure may be made in hardware, firmware,software, or any suitable combination thereof. Aspects of the disclosuremay be implemented as instructions stored on a machine-readable medium,which may be read and executed by one or more processors. Amachine-readable medium may include any mechanism for storing ortransmitting information in a form readable by a machine (e.g., acomputing device). For example, a tangible computer-readable storagemedium may include read-only memory, random access memory, magnetic diskstorage media, optical storage media, flash memory devices, and others,and a machine-readable transmission media may include forms ofpropagated signals, such as carrier waves, infrared signals, digitalsignals, and others. Firmware, software, routines, or instructions maybe described herein in terms of specific exemplary aspects andimplementations of the disclosure, and performing certain actions.

In some implementations, some or all of the functionalities attributedherein to the system 10 may be provided by external resources notincluded in the system 10. External resources may include hosts/sourcesof information, computing, and/or processing and/or other providers ofinformation, computing, and/or processing outside of the system 10.

Although the processor 11 and the electronic storage 13 are shown to beconnected to the interface 12 in FIG. 1 , any communication medium maybe used to facilitate interaction between any components of the system10. One or more components of the system 10 may communicate with eachother through hard-wired communication, wireless communication, or both.For example, one or more components of the system 10 may communicatewith each other through a network. For example, the processor 11 maywirelessly communicate with the electronic storage 13. By way ofnon-limiting example, wireless communication may include one or more ofradio communication, Bluetooth communication, Wi-Fi communication,cellular communication, infrared communication, or other wirelesscommunication. Other types of communications are contemplated by thepresent disclosure.

Although the processor 11 is shown in FIG. 1 as a single entity, this isfor illustrative purposes only. In some implementations, the processor11 may comprise a plurality of processing units. These processing unitsmay be physically located within the same device, or the processor 11may represent processing functionality of a plurality of devicesoperating in coordination. The processor 11 may be configured to executeone or more components by software; hardware; firmware; some combinationof software, hardware, and/or firmware; and/or other mechanisms forconfiguring processing capabilities on the processor 11.

It should be appreciated that although computer components areillustrated in FIG. 1 as being co-located within a single processingunit, in implementations in which processor 11 comprises multipleprocessing units, one or more of computer program components may belocated remotely from the other computer program components. Whilecomputer program components are described as performing or beingconfigured to perform operations, computer program components maycomprise instructions which may program processor 11 and/or system 10 toperform the operation.

While computer program components are described herein as beingimplemented via processor 11 through machine-readable instructions 100,this is merely for ease of reference and is not meant to be limiting. Insome implementations, one or more functions of computer programcomponents described herein may be implemented via hardware (e.g.,dedicated chip, field-programmable gate array) rather than software. Oneor more functions of computer program components described herein may besoftware-implemented, hardware-implemented, or software andhardware-implemented

The description of the functionality provided by the different computerprogram components described herein is for illustrative purposes, and isnot intended to be limiting, as any of computer program components mayprovide more or less functionality than is described. For example, oneor more of computer program components may be eliminated, and some orall of its functionality may be provided by other computer programcomponents. As another example, processor 11 may be configured toexecute one or more additional computer program components that mayperform some or all of the functionality attributed to one or more ofcomputer program components described herein.

The electronic storage media of the electronic storage 13 may beprovided integrally (i.e., substantially non-removable) with one or morecomponents of the system 10 and/or removable storage that is connectableto one or more components of the system 10 via, for example, a port(e.g., a USB port, a Firewire port, etc.) or a drive (e.g., a diskdrive, etc.). The electronic storage 13 may include one or more ofoptically readable storage media (e.g., optical disks, etc.),magnetically readable storage media (e.g., magnetic tape, magnetic harddrive, floppy drive, etc.), electrical charge-based storage media (e.g.,EPROM, EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive,etc.), and/or other electronically readable storage media. Theelectronic storage 13 may be a separate component within the system 10,or the electronic storage 13 may be provided integrally with one or moreother components of the system 10 (e.g., the processor 11). Although theelectronic storage 13 is shown in FIG. 1 as a single entity, this is forillustrative purposes only. In some implementations, the electronicstorage 13 may comprise a plurality of storage units. These storageunits may be physically located within the same device, or theelectronic storage 13 may represent storage functionality of a pluralityof devices operating in coordination.

FIG. 2 illustrates method 200 for utilizing device orientation for videoframing. The operations of method 200 presented below are intended to beillustrative. In some implementations, method 200 may be accomplishedwith one or more additional operations not described, and/or without oneor more of the operations discussed. In some implementations, two ormore of the operations may occur substantially simultaneously.

In some implementations, method 200 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, a central processingunit, a graphics processing unit, a microcontroller, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operation of method 200 in response to instructions storedelectronically on one or more electronic storage mediums. The one ormore processing devices may include one or more devices configuredthrough hardware, firmware, and/or software to be specifically designedfor execution of one or more of the operations of method 200.

Referring to FIG. 2 and method 200, at operation 201, video informationmay be obtained. The video information may define a video. The video mayinclude video content having a progress length. The video content mayinclude visual content viewable as a function of progress through theprogress length. The visual content may have a field of view. In someimplementation, operation 201 may be performed by a processor componentthe same as or similar to the video information component 102 (Shown inFIG. 1 and described herein).

At operation 202, framing information may be obtained. The framinginformation for the video may characterize one or more framings of thevisual content at one or more moments within the progress length. Anindividual framing of the visual content may define a positioning of aviewing window within the field of view of the visual content at acorresponding moment within the progress length. The viewing window maydefine extents of the visual content to be included within apresentation of the video content. The framing information may bedetermined based on a user's interaction with a mobile device and/orother information. The mobile device may include a display. The mobiledevice may provide a presentation of the extents of visual contentdefined by the viewing window on the display to facilitate the user'sinteraction with the mobile device to determine the framing information.In some implementations, operation 202 may be performed by a processorcomponent the same as or similar to the framing information component104 (Shown in FIG. 1 and described herein).

At operation 203, the framing information for the video may be providedto a video editing application that utilizes the framing information toprovide preliminary framings of the visual content at the moments withinthe progress length. In some implementations, operation 203 may beperformed by a processor component the same as or similar to theprovision component 106 (Shown in FIG. 1 and described herein).

Although the system(s) and/or method(s) of this disclosure have beendescribed in detail for the purpose of illustration based on what iscurrently considered to be the most practical and preferredimplementations, it is to be understood that such detail is solely forthat purpose and that the disclosure is not limited to the disclosedimplementations, but, on the contrary, is intended to covermodifications and equivalent arrangements that are within the spirit andscope of the appended claims. For example, it is to be understood thatthe present disclosure contemplates that, to the extent possible, one ormore features of any implementation can be combined with one or morefeatures of any other implementation.

What is claimed is:
 1. A system for video framing, the systemcomprising: one or more physical processors configured bymachine-readable instructions to: obtain video information defining avideo, the video including video content having a progress length, thevideo content including visual content viewable as a function ofprogress through the progress length, the visual content having a fieldof view; obtain framing information for the video, the framinginformation characterizing framings of the visual content at momentswithin the progress length, the framings of the visual content includinga first framing at a first moment, an individual framing of the visualcontent defining a positioning of a viewing window within the field ofview of the visual content at a corresponding moment within the progresslength; and provide visual indications of the framings of the visualcontent at the moments within the progress length, the visualindications of the framings of the visual content at the momentspresented during presentation of other moments within the progresslength on a display such that presentation on the display of a secondmoment different from the first moment within the progress lengthincludes a first visual indication of the first framing of the visualcontent at the first moment within the progress length.
 2. The system ofclaim 1, wherein the individual framing of the visual content definesthe positioning of the viewing window within the field of view of thevisual content based on a viewing direction and a viewing size of theviewing window.
 3. The system of claim 2, wherein the individual framingof the visual content further defines the positioning of the viewingwindow within the field of view of the visual content based on a viewingrotation and/or a viewing projection of the viewing window.
 4. Thesystem of claim 1, wherein the framing information is determined basedon a user's interaction with a mobile device.
 5. The system of claim 4,wherein the user's interaction with the mobile device determines theframing information based on the user controlling orientation of themobile device to set a viewing direction of the viewing window.
 6. Thesystem of claim 1, wherein the visual indications of the framings of thevisual content include outlines of the positioning of the viewing windowoverlaid on top of the visual content presented on the display.
 7. Thesystem of claim 1, wherein the visual indications of the framings of thevisual content include arrows at a periphery of the display to indicatedirections of the framings of the visual content that are outside acurrent framing of the visual content.
 8. The system of claim 1, whereinthe visual indications of the framings of the visual content changebased on distances between a current moment presented on the display andthe moments corresponding to the framings of the visual content.
 9. Thesystem of claim 8 wherein the visual indications of the framings of thevisual content changing based on the distances between the currentmoment presented on the display and the moments corresponding to theframings of the visual content include size, shape, and/or color of thevisual indications changing based on the distances between the currentmoment presented on the display and the moments corresponding to theframings of the visual content.
 10. A method for video framing, themethod performed by a computing system including one or more processors,the method comprising: obtaining, by the computing system, videoinformation defining a video, the video including video content having aprogress length, the video content including visual content viewable asa function of progress through the progress length, the visual contenthaving a field of view; obtaining, by the computing system, framinginformation for the video, the framing information characterizingframings of the visual content at moments within the progress length,the framings of the visual content including a first framing at a firstmoment, an individual framing of the visual content defining apositioning of a viewing window within the field of view of the visualcontent at a corresponding moment within the progress length; andproviding, by the computing system, visual indications of the framingsof the visual content at the moments within the progress length, thevisual indications of the framings of the visual content at the momentspresented during presentation of other moments within the progresslength on a display such that presentation on the display of a secondmoment different from the first moment within the progress lengthincludes a first visual indication of the first framing of the visualcontent at the first moment within the progress length.
 11. The methodof claim 10, wherein the individual framing of the visual contentdefines the positioning of the viewing window within the field of viewof the visual content based on a viewing direction and a viewing size ofthe viewing window.
 12. The method of claim 11, wherein the individualframing of the visual content further defines the positioning of theviewing window within the field of view of the visual content based on aviewing rotation and/or a viewing projection of the viewing window. 13.The method of claim 10, wherein the framing information is determinedbased on a user's interaction with a mobile device.
 14. The method ofclaim 13, wherein the user's interaction with the mobile devicedetermines the framing information based on the user controllingorientation of the mobile device to set a viewing direction of theviewing window.
 15. The method of claim 10, wherein the visualindications of the framings of the visual content include outlines ofthe positioning of the viewing window overlaid on top of the visualcontent presented on the display.
 16. The method of claim 10, whereinthe visual indications of the framings of the visual content includearrows at a periphery of the display to indicate directions of theframings of the visual content that are outside a current framing of thevisual content.
 17. The method of claim 10, wherein the visualindications of the framings of the visual content change based ondistances between a current moment presented on the display and themoments corresponding to the framings of the visual content.
 18. Themethod of claim 17, wherein the visual indications of the framings ofthe visual content changing based on the distances between the currentmoment presented on the display and the moments corresponding to theframings of the visual content include size, shape, and/or color of thevisual indications changing based on the distances between the currentmoment presented on the display and the moments corresponding to theframings of the visual content.
 19. A system for video framing, thesystem comprising: one or more physical processors configured bymachine-readable instructions to: obtain video information defining avideo, the video including video content having a progress length, thevideo content including visual content viewable as a function ofprogress through the progress length, the visual content having a fieldof view; obtain framing information for the video, the framinginformation characterizing framings of the visual content at momentswithin the progress length, the framings of the visual content includinga first framing at a first moment, an individual framing of the visualcontent defining a positioning of a viewing window within the field ofview of the visual content at a corresponding moment within the progresslength, wherein the framing information is determined based on a user'sinteraction with a mobile device to control orientation of the mobiledevice and set a viewing direction of the viewing window; and providevisual indications of the framings of the visual content at the momentswithin the progress length, the visual indications of the framings ofthe visual content at the moments presented during presentation of othermoments within the progress length on a display such that presentationon the display of a second moment different from the first moment withinthe progress length includes a first visual indication of the firstframing of the visual content at the first moment within the progresslength.
 20. The system of claim 19, wherein the individual framing ofthe visual content defines the positioning of the viewing window withinthe field of view of the visual content based on the viewing direction,a viewing size, and a viewing rotation of the viewing window.